#!/bin/bash

# 定义安装目录（与原脚本保持一致）
CURRENT_DIR=$(dirname "$(realpath "$0")")
CLASH_SERVICE_FILE="/etc/systemd/system/clash.service"
DOCKER_PROXY_FILE="/etc/systemd/system/docker.service.d/http-proxy.conf"
SHELL_RC_FILES=("~/.bashrc" "~/.zshrc")

# 停止并禁用 Clash 服务（增加强制终止）
echo "停止 Clash 服务..."
systemctl stop clash.service || true
systemctl disable clash.service --now

# 强制删除服务文件（使用 sudo 确保权限）
echo "删除 Clash 服务文件..."
sudo rm -f "$CLASH_SERVICE_FILE"
sudo rm -f /etc/systemd/system/multi-user.target.wants/clash.service  # 清理软链接

# 刷新 systemd 配置（关键步骤）
echo "刷新 systemd 配置..."
sudo systemctl daemon-reload

# 删除 Clash 文件及配置（增加递归删除和提示）
echo "删除 Clash 文件及配置..."
[ -d "$CURRENT_DIR/clash" ] && rm -rf "$CURRENT_DIR/clash" && echo "已删除 $CURRENT_DIR/clash"
[ -f "$CURRENT_DIR/config.yaml" ] && rm -f "$CURRENT_DIR/config.yaml" && echo "已删除 $CURRENT_DIR/config.yaml"
[ -f "$HOME/.config/clash/Country.mmdb" ] && rm -f "$HOME/.config/clash/Country.mmdb" && echo "已删除 Country.mmdb"

# 清理 Shell 代理配置（支持 bash 和 zsh）
echo "清理 Shell 中的代理配置..."
for rc_file in "${SHELL_RC_FILES[@]}"; do
    rc_path=$(eval echo "$rc_file")  # 解析波浪号~
    if [ -f "$rc_path" ]; then
        # 移除代理环境变量块
        sed -i '/# Proxy auto start/,/export all_proxy=socks5:\/\/127.0.0.1:7890/d' "$rc_path"
        # 移除代理开关函数
        sed -i '/# Open proxy/,/echo \"HTTP\/HTTPS Proxy on\"/d' "$rc_path"
        sed -i '/# Close proxy/,/echo \"HTTP\/HTTPS Proxy off\"/d' "$rc_path"
        echo "已清理 $rc_file 中的代理配置"
    else
        echo "$rc_file 不存在，跳过清理"
    fi
done

# 恢复 Docker 代理配置
echo "清理 Docker 代理配置..."
if [ -f "$DOCKER_PROXY_FILE" ]; then
    sudo rm -f "$DOCKER_PROXY_FILE"
    sudo systemctl daemon-reload
    sudo systemctl restart docker || true
    echo "已删除 Docker 代理配置"
else
    echo "Docker 代理配置不存在，跳过清理"
fi

# 恢复防火墙设置（原脚本关闭了防火墙，此处恢复）
echo "恢复防火墙设置..."
sudo systemctl enable --now firewalld

echo -e "\nClash 卸载完成！以下是验证步骤："
echo "1. 检查服务是否彻底删除：systemctl list-unit-files | grep clash"
echo "2. 检查残留文件：ls -l $CURRENT_DIR/clash"
echo "3. 刷新 Shell 配置：source ~/.bashrc && source ~/.zshrc"